package pl.egraveyard.security;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

/**
 * Enum przedstawiajacy role osob zalogowanych w systemie
 * @author gunos
 *
 */
public enum Role {
	ROLE_USER("ROLE_USER"), ROLE_CUSTOMER("ROLE_CUSTOMER");
	private static final Map<String, Role> ROLES;
	static {
		Map<String, Role> tmpRoles = new HashMap<String, Role>();
		for (Role val : values()) {
			tmpRoles.put(val.getValue(), val);
		}
		ROLES = Collections.unmodifiableMap(tmpRoles);
	}
	private String value;
	
	/**
	 * Domyslny konstruktor
	 * @param value kod wartosci trybu wyliczeniowego
	 */
	private Role(String value){
		this.value = value;
	}
	
	/**
	 * Pobiera enum roli o podanym kodzie
	 * @param code kod poszukiwanej roli
	 * @return enum o podanym kodzie
	 */
	public static Role getEnum(String code){
		return ROLES.get(code);
	}
	
	/**
	 * @return the value
	 */
	public String getValue() {
		return value;
	}
}
